// 《围棋》作者版权所有。保留所有权利。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

package sys

import (
	"internal/goarch"
	"internal/goos"
)

// AIX需要更大的系统调用堆栈。
const StackGuardMultiplier = StackGuardMultiplierDefault*(1-goos.IsAix) + 2*goos.IsAix

// DefaultPhysPageSize是默认的物理页面大小。
const DefaultPhysPageSize = goarch.DefaultPhysPageSize

// PCQuantum是程序计数器的最小单位（x86上为1，大多数其他系统上为4）。
// 不同的PC表记录PC增量除以PCQuantum。
const PCQuantum = goarch.PCQuantum

// Int64Align是64位整数（32位系统中为4，64位系统中为8）所需的对齐方式。
const Int64Align = goarch.PtrSize

// MinFrameSize是框架底部系统保留字的大小（刚好在架构堆栈指针上方）。
// 在x86上为零，在大多数非x86（基于LR的）系统上为PtrSize。
// 在PowerPC上，它更大，可以覆盖三个额外的保留字：
// 编译器字、链接编辑器字和TOC保存字。
const MinFrameSize = goarch.MinFrameSize

// StackAlign是SP寄存器所需的对齐方式。
// 堆栈必须至少与字对齐，但有些体系结构需要更多。
const StackAlign = goarch.StackAlign
